Modern computer systems are able to store, locate and present vast amounts of information to users in a short period of time. This ability to handle large quantities of information is both an advantage and a problem to computer users. The advantage is that computer systems save time and money by allowing businesses to track, update and use important information in a timely and efficient manner. The disadvantage is that users are easily overwhelmed by large and complex data structures, resulting in diminished productivity. In short, computer systems often have more information available for users than users are able to intelligently decipher through the user interface displayed by a computer system.
One example of a data structure that easily overwhelms users is a listing of automobile parts. Automobile parts are typically organized by a hierarchy of non-homogeneous classifiers to aid users in locating desired parts. For instance, a user seeking to locate and identify radios available from an inventory of auto parts might drill down through a hierarchical tree organization starting from a root node and traversing through descendant nodes that identify available parts by manufacturer and part type to reach a list of parts indexed by part attributes. Computer system user interfaces typically display such lists as trees, tree grids, or flat lists.
One difficulty with conventional displays of information organized by hierarchy levels is that users easily lose their presence of the state of the information displayed by a user interface. For instance, an example of a tree user interface is the display of a computer file directory by WINDOWS EXPLORER. A user expands the directory by clicking on plus signs and is able to view the entire directory by scrolling with a scroll bar to see portions of the directory unavailable for viewing due to the size of the directory compared with the size of the display. With large tree structures, users often lose their presence of the state of the information displayed as the root and path followed to the information of interest are hidden from view when the user scrolls down to view the information.
For instance, FIG. 1 depicts a display of information organized in a tree structure. A root node is the top-level of the tree structure and is the parent node of the lower level nodes of the tree structure. The tree structure organizes descendants of the root node by hierarchy levels. Nodes A, B, C and D are child nodes at a first level of the root node, and siblings of each other. Following the path from the root node to its child node B leads to nodes 1, 2 and 3, which are children nodes of B and grandchild descendants at the second level from the root node. The root node and node B are known as ancestor nodes of nodes 1, 2 and 3, with the root node and node B also referred to respectively as the grandparent and parent nodes of nodes 1, 2 and 3.
As is depicted by FIG. 1, when a tree structure is expanded so that children nodes are displayed, the amount of information displayed can quickly extend beyond the visible area of a computer display screen area. If a user scrolls through the screen to view information, this often removes substantial portions of the tree structure from the display of the user. Similarly, if the user collapses the tree structure, the children of the collapsed nodes are not available for view unless the node is expanded. Thus, for instance, if a user expands node C of FIG. 1, then node D extends beyond the view of a single screen and the user is not able to view the root node and node D in a single screen. If a user collapses node C, then node D becomes visible in a single screen.
Other types of conventional user interfaces are also ineffective at maintaining user awareness of the state of the hierarchical levels displayed. For instance, browser-based solutions allow a user to load pages associated with sub-nodes of a root directory but typically provide little information of the state presented to the user. Another example of a user interface is the folder list of MICROSOFT OUTLOOK 2000 which uses shortcut bars to activate options depicted as graphical icons. Clicking on a shortcut bar causes the window to shift to display options associated with the activated shortcut bar. However, the extent of the information available is limited since the shortcut bars only reposition, limiting the number of shortcut bars that may be presented in the display area.